name: Tier 2 sysroots

on:
  schedule:
    - cron: '44 4 * * *' # At 4:44 UTC every day.

defaults:
  run:
    shell: bash

jobs:
  sysroots:
    name: Build the sysroots
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build the sysroots
        run: |
          cargo install -f rustup-toolchain-install-master
          ./miri toolchain -c rust-docs # Docs are the only place targets are separated by tier
          ./miri install
          python3 -m pip install beautifulsoup4
          ./ci/build-all-targets.sh

  sysroots-cron-fail-notify:
    name: sysroots cronjob failure notification
    runs-on: ubuntu-latest
    needs: [sysroots]
    if: failure() || cancelled()
    steps:
      # Send a Zulip notification
      - name: Install zulip-send
        run: pip3 install zulip
      - name: Send Zulip notification
        env:
          ZULIP_BOT_EMAIL: ${{ secrets.ZULIP_BOT_EMAIL }}
          ZULIP_API_TOKEN: ${{ secrets.ZULIP_API_TOKEN }}
        run: |
          ~/.local/bin/zulip-send --user $ZULIP_BOT_EMAIL --api-key $ZULIP_API_TOKEN --site https://rust-lang.zulipchat.com \
            --stream miri --subject "Cron Job Failure (miri, $(date -u +%Y-%m))" \
            --message 'Dear @*T-miri*,

          It would appear that the [Miri sysroots cron job build]('"https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"') failed.

          Would you mind investigating this issue?

          Thanks in advance!
          Sincerely,
          The Miri Cronjobs Bot'
